|
A dialog manager (DM) is a component of a dialog system (DS), responsible for the state and flow of the conversation. Usually: * The input to the DM is the human utterance, usually converted to some system-specific semantic representation by the Natural language understanding (NLU) component. For example, in a flight-planning dialog system, the input may look like "ORDER(from=TA,to=JER,date=2012-01-01)". * The DM usually maintains some state variables, such as the dialog history, the latest unanswered question, etc., depending on the system. * The output of the DM is a list of instructions to other parts of the dialog system, usually in a semantic representation, for example "TELL(flight-num=123,flight-time=12:34)". This semantic representation is usually converted to human language by the Natural language generation (NLG) component. There are many different DMs that fulfill very different roles. There can even be several DM components in a single DS. The only thing common to all DMs is that they are stateful, in contrast to other parts of the DS (such as the NLU and NLG components), which are just stateless functions. The DM roles can roughly be divided into these groups: # Input-control DMs, which enable context-dependent processing of the human utterances. # Output-control DMs. which enable state-dependent generation of text. # Strategic flow-control # Tactic flow-control == Input-control DM == The human input has different meanings depending on the context. For example, in a travel-planning DS: * Computer: Where do you want to depart from? * * Human: Tel Aviv. * Computer: Where do you want to arrive at? * * Human: Gaza. The meaning of the city name depends on the previously asked question. A DM may keep that question in a state variable, and use it to convert "Tel Aviv" to "I want to depart from Tel Aviv", and convert "Gaza" to "I want to arrive at Gaza". This function is on the border between NLU and DM: in some systems it's included in the NLU, such as the context-dependent rules of (Milward (2000) ); while in other systems it is included in the DM, such as the NP resolution module of (Mirkovic and Cavedon (2005) ). Another function between the NLU and DM is, determining which input utterances are part of a single utterance. Here is an example from a job negotiation dialog: * I offer a salary of 20,000 NIS * and a car * The pension conditions will be decided later All three utterances are actually a single offer. For the second utterance, the word "and" is a clue, but for the third utterance the only possible clue is that it was said immediately after the second one. To understand this, the DM should probably keep a timestamp of each utterance. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Dialog manager」の詳細全文を読む スポンサード リンク
|